/*
 * MyCheckItemPropertiesClass.java
 *
 * Copyright 2011 Universidad Francisco de Paula Santander (UFPS).
 * Todos los Derechos Reservados.
 * Creado el 2/03/2011, 11:32:08 PM
 */

package com.ufps.cuatro.util.model;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

/**
 * <i><b>MyCheckItemPropertiesClass:</b></i> @DefinicionClase
 * @author Carlos A. Torres C. - Dolly E. Guerrero. <https://code.google.com/p/tesis4dor/>
 * @version 1.0 2/03/2011
 */
public class MyCheckItemPropertiesClass extends MyCheckItem{
    private static final long serialVersionUID = 758171764186697336L;    
    private Field objField;
    private Method objMethod;
    
     
    public MyCheckItemPropertiesClass() {
        
    }

    /**
     * @DefinicionMetodo
     * @param objField @DefinicionParametro
     */
    public MyCheckItemPropertiesClass(Field objField) {
        super(objField.toString());
        this.objField = objField;        
    }

    /**
     * @DefinicionMetodo
     * @param objMethod @DefinicionParametro
     */
    public MyCheckItemPropertiesClass(Method objMethod) {
        super(objMethod.toString());
        this.objMethod = objMethod;        
    }      

    /**
     * @DefinicionMetodo
     * @return @DefinicionReturn
     */
    public Field getObjField() {
        return objField;
    }

    /**
     * @DefinicionMetodo
     * @return @DefinicionReturn
     */
    public Method getObjMethod() {
        return objMethod;
    }

    @Override
    public Object clone() {
        MyCheckItemPropertiesClass objClon = null;
        objClon = (MyCheckItemPropertiesClass) super.clone();        
        //Ahora se hace la Clonación Profunda
        if(this.objField != null){
            ((MyCheckItemPropertiesClass)objClon).objField = (Field)this.objField;
        }
        if(this.objMethod != null){
            ((MyCheckItemPropertiesClass)objClon).objMethod = (Method)this.objMethod;
        }                
        return objClon;
    }          
}

